﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace MoPhongThuatToan
{
    class VeDoThi
    {
        public Canh[] DSCanh=new Canh[100];
        public Dinh[] DSDinh;
        public Dinh DiemKhoiDau = null;
        private float goc = 0;
        private float radius = 0.017453293f;

        public void vedothi(int[,] a, int n, Graphics G)
        {
            float X, Y;
            goc = (float)(360 / n);
            DSDinh = new Dinh[n];
            //tạo tọa độ danh sách các đỉnh theo hình tròn
            if (DSDinh[0] == null)
            {
                for (int i = 0; i < n; i++)
                {
                    X = (float)150f * (float)Math.Sin((double)(goc * i * radius));
                    Y = (float)150f * (float)Math.Cos((double)(goc * i * radius));
                    DSDinh[i] = new Dinh(220f + X, 220f + Y, i);
                }
            }
            
            //lập danh sách các cạnh
            int dem = 0;
            for (int i = 0; i < n; i++)
            {
                for (int j = i+1; j < n; j++)
                {
                    if (a[i, j] != 0) 
                    {   

                        DSCanh[dem] = new Canh(DSDinh[i], DSDinh[j],a[i, j]);
                        //vẽ cạnh
                        DSCanh[dem].vecanh(G);    
                        dem++;        
                    }
                }
            }
            //vẽ đỉnh
            for (int k = 0; k < n; k++)
                DSDinh[k].VeDinh(G);
        }
        public void KiemTraClick(Point p)
        {
            foreach (Dinh i in DSDinh)
            {
                if (i == null)
                    return;

            }
        }
    }
}
